<table>
</table>
<h3>PPB_HostResolver</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">PPAPI Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Resolve </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetCanonicalName </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetNetAddressCount </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetNetAddress </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>PPB_NetAddress</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">PPAPI Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">CreateFromIPv4Address </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">CreateFromIPv6Address </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetFamily </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">DescribeAsString </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">DescribeAsIPv4Address </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">DescribeAsIPv6Address </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffeecc" style="font-size: 11px; padding: 5px;">GAP (partial) - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>PPB_NetworkList</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">PPAPI Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetCount </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetName </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetType </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetState </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetIpAddress </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetDisplayName </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetMTU </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>PPB_NetworkMonitor</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">PPAPI Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Create </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">UpdateNetworkList </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>PPB_NetworkProxy</h3>
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">PPAPI Method </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">Assumes Threads </td>
    <td style="font-size: 11px; padding: 5px;">Emscripten </td>
    <td style="font-size: 11px; padding: 5px;">Web API </td>
    <td style="font-size: 11px; padding: 5px;">Limitations </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">GetProxyForURL </td>
    <td style="width: 50px; text-align: center; font-size: 11px; padding: 5px;">x </td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP</td>
    <td bgcolor="#ffcccc" style="font-size: 11px; padding: 5px;">GAP - No direct equivalent</td>
    <td style="font-size: 11px; padding: 5px;"> </td>
  </tr>

</table>
<h3>PPB_TCPSocket and PPB_UDPSocket</h3>
There is not a direct 1:1 mapping for migration. Instead, we have outlined some
user scenarios below and what the recommended migration path is.
<table>
  <tr bgcolor="#77ccff" style="color:white; font-weight: bold;">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Use Case</td>
    <td style="font-size: 11px; padding: 5px;">Recommendations</td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Screen sharing</td>
    <td style="font-size: 11px; padding: 5px;">
      <a href="https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia">
        getDisplayMedia</a> and 
      <a href="https://webrtc.org/">WebRTC</a> (
      <a href="https://webrtc.github.io/samples/src/content/getusermedia/getdisplaymedia/">
        demo</a>)
    </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Loading from a
    local server to minimize bandwidth usage</td>
    <td style="font-size: 11px; padding: 5px;">XHR, Fetch, Streams, Service Worker, Cache APIs</td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Loading from a
    local instance of a web app / Connecting to a local instance of a web app</td>
    <td style="font-size: 11px; padding: 5px;"><a href="https://webrtc.org/">WebRTC</a></td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Chat</td>
    <td style="font-size: 11px; padding: 5px;">
      <a href="https://developer.mozilla.org/ja/docs/Web/API/WebSockets_API">WebSocket</a>*
    </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Realtime
    audio/video communication</td>
    <td style="font-size: 11px; padding: 5px;"><a href="https://webrtc.org/">WebRTC</a></td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Collaboration</td>
    <td style="font-size: 11px; padding: 5px;">
      <a href="https://developer.mozilla.org/ja/docs/Web/API/WebSockets_API">WebSocket</a>*
    </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Realtime
    multiplayer games</td>
    <td style="font-size: 11px; padding: 5px;">
      <a href="https://github.com/WICG/web-transport/blob/master/README.md">WebTransport</a>**
      unless P2P in which case <a href="https://webrtc.org/">WebRTC</a> (or
      WebTransport over RTCIceTransport)
    </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Realtime
    interactive streaming</td>
    <td style="font-size: 11px; padding: 5px;">
      <a href="https://github.com/WICG/web-transport/blob/master/README.md">WebTransport</a>**
    </td>
  </tr>

  <tr bgcolor="#fcfcfc">
    <td style="font-weight: bold; font-size: 11px; padding: 5px;">Communicating
    with legacy server</td>
    <td style="font-size: 11px; padding: 5px;">
      Proxy server or middleware to do protocol conversion. Feedback to
      <a href="http://bit.ly/network-api-gaps">bit.ly/network-api-gaps</a>
    </td>
  </tr>

</table>

  <i>*: Or WebTransport in the future</i><br>
  <i>**: See <a href="https://chromestatus.com/features#webtransport">chromestatus</a> for 
    availability</i>
